
<?php 
header("Content-type: text/html; charset=utf-8");

require_once('../aip/AipNlp.php');
$aip = new AipNlp( '9947118' , 'YdIHRWObHws1q250Ba8G3FHE' , 'owzgxMD3g9W7CfRITNCxeFSKcXOdpzWD' );

$title = array(
	14 => '确有专长，如名字说描述的一样，这种报考执业医师资格考试的方法，适用于在医学，行医诊断方面确实有一技之长的考生，基本报考要求要求学员，年满25周岁，在中医医学方面确有一技之长，无论是针灸，拔罐或者其他方面确实有技能，且拥有高中及高中以上学历即可报考。',
	1 => '对考生更高的要求，自然也有更便捷的考试之路。与师承相比，确有专长的好处还是很大的：确有专长无需跟师学习，节省了三年时间，也节省了3年的费用。对于年长一些的考生，在技能水平达到要求的条件下，选择专长将更有优势。',
	2 => '确有专长证书也是需要通过报考相应考试，才能获取。但报考、审核以及所需要的材料都十分严格、全面。对考生个人提交申请报名还是一个十分麻烦的过程。在性质上类似于师承的出师考试。获取确有专长证书之后，报考的路线与中医师承一样。',
	3 => '2017年执业医师考试，哪些人享受“一年两试”',
	4 => '医生月收入8000是什么水平',
	5 => '中医师承是怎么一个过程',
	6 => '医学专业专科生求职就业如何选择',
	7 => '考过中医师承或确有专长，开诊所更快了',
	8 => '执业药师复习差，举一反三提高得分率',
	9 => '执业药师1月冲刺，西药篇短期快记口诀',
	10 => '中医确有专长考试都考些什么题？',
	11 => '执业药师考前1月，中医药物篇短期快记口诀',
	12 => '中医师承哪些老师有带徒弟的资格',
	13 => '比如科室、地域、级别、工作单位等等都是直接的影响因素。比如，从网络调查的结果可以看出来口腔和整形两个科室的收入就要比临床等科室高。一线城市的自然要比二线三线的要高；级别方面，高级别医师的收入，不仅基本工资高，提成高，而且收入的渠道和来源也要多。这也看出来，不管在什么情况下，新人都是要苦逼一阵子，有资历有能力有阅历才能财源滚滚的。',
	0 => '2017年开始中医师承，哪年可以开诊所？',
);

foreach ( $title as $value ) {

	$words =  $aip->lexer( $value );
	$words = optimeWordsArr( $words['items'] );
	// var_dump( keepValidWord( $words ) );

	// continue;
	showWordType( $words );
	echo "<hr><hr>";
}

#20170921测试百度词向量功能
// var_dump( baiduWordEmbedding( $aip , $title[4] ) );

// echo "百度短文本相似度测试：";
// var_dump( baiduSimnet( $aip , $title[0] , $title[1] ) );


// showWordTypeDetail( $title[0] );

/**
* @name   showWordType  显示分词的词性
* @param  array   itemsArr
* @return boolean
*/
function showWordType( $itemsArr = array() ){
	foreach ($itemsArr as $value) {
		showWordTypeDetail( $value );
	}
}

/**
* 实际显示问题
*/
function showWordTypeDetail( $wordInfo = array() ){
	$wordType = array(
		'n' => '普通名词',
		'nr' => '人名',
		'nz' => '其他名词',
		'a' => '形容词',
		'm' => '数量词',

		'c' => '连词',
		'f' => '方位名词',
		'ns' => '地名',
		'v' => '普通动词',
		'ad' => '副形词',

		'q' => '量词',
		'u' => '助词',
		's' => '处所名词',
		'nt' => '机构团体名',
		'vd' => '动副词',

		'an' => '名形词',
		'r' => '代词',
		'xc' => '其他虚词',
		't' => '时间名词',
		'nw' => '作品名',

		'vn' => '名动词',
		'd' => '副词',
		'p' => '介词',
		'w' => '标点符号',
		
		'PER' => '人名',
		'LOC' => '地名',
		'ORG' => '机构名',
		'TIME' => '时间',
	);

	if( '' != $wordInfo['pos'] ){
		echo $wordType[$wordInfo['pos']] . ":" . $wordInfo['item'] . "<br>";
	}elseif( '' != $wordInfo['ne'] ){
		echo $wordType[$wordInfo['ne']] . ":" . $wordInfo['item'] . "<br>";
	}else{
		var_dump($wordInfo['item']);
	}
}

/**
* @name   optimeWordsArr   对文章的分词进行优化
* @param  array  originLexer
* @return array  optimWordArr  返回优化过的二维数组
*/
function optimeWordsArr( $originLexer = array() ){
	$optimWordArr = array();
	foreach ($originLexer as  $value) {
		$optimWordArr[] = array( 
			'pos'  => $value['pos'],
			'ne'   => $value['ne'],
			'item' => $value['item'],
		);
	}
	return $optimWordArr;
}

/**
* @name   keepValidWord   过滤出来有效的分词
* @param  array  wordArr
* @return array  validWordArr
*/
function keepValidWord( $wordArr = array() ){
	$uselessWordType = array( 'w' , 'u' , 'p' , 'xc' , 'c' );
	$validWordArr    = array();

	foreach ($wordArr as $key => $value) {
		if( !in_array( $value['pos'] , $uselessWordType ) && !in_array( $value['ne'] , $uselessWordType ) ){
			$type = empty( $value['pos'] )?  $value['ne']:$value['pos'];
			$word = $value['item'];

			$validWordArr[] = array( $type , $word );
		}
	}

	return $validWordArr;
}

/**
* 百度计算词向量
*/
function baiduWordEmbedding( $aip , $str = '' ){
	return $aip->dnnlm( $str );
}

/**
* 百度短文本相似度，测算文本长度
*/
function baiduSimnet( $aip , $str1 = '' , $str2 = '' ){
	return $aip->simnet( $str1 , $str2 );
}